Search engines for text and images have been well developed over the past decade. This invention deals with searching for three dimensional (3D) models from a repository of Computer Computer-Aided Design (CAD) models.
CAD and Computer-Aided Manufacturing (CAM) software has grown from stand-alone environments towards network based collaborative environments. Advances in 3D graphics hardware have contributed greatly to the increasing use of 3D CAD models. Increased use of 3D geometry will lead to internal design repositories which contain product related information such as CAD models and context-specific documents such as specifications, manufacturing plans, etc. Typically, design repositories are analogous to distributed databases, spread over various departments/people in a company.
Often designers are constrained by requirements of cost and time, making design reuse an attractive option. Design reuse necessitates searching for past designs of parts and assemblies. Furthermore, as designers change within companies a lot of “knowledge” is lost with past designers. Most of this “lost corporate knowledge” can be recovered back by searching for past designs. Clearly, reuse of past designs and knowledge from large design repositories is a key factor in compressing product development time and can deliver significant strategic advantage to a company.
Thus, there is a need to develop techniques that address the following problems:                Design Reuse: Designs which can be reused by searching for past designs in a company. The cluster map interface or 3D quick shape creation interface which can be used to select or sketch the part most similar to the one being designed.        Cost estimation: Design histories of the retrieved parts can be made available thereby enabling the cost estimation process. A designer can look for the most similar part thereby reducing errors and saving time in cost estimation        Assist in quotation process: Often, when a request for quotation is received, time is spent in searching for past designs. Thus, there is a need to reduce the time needed in responding to a Request For Quote (RFQ).        Part Classification System: Most companies employ people to specifically classify parts in their database. This not only takes time but is also dependent on human accuracy. Thus, there is a need to streamline this process and classify parts based on desired metrics.        Reduce part duplication: There is a need, such that before designing a part, designers can search for parts available in the database to check if a similar part has already been designed.        Search engine for 3D shapes: Currently available 3D shape search engines do not produce good results. Thus, there is a need to improve conventional 3d shape search engines.        
Currently available database search techniques use keywords or natural language based strategies. However in the case of 3D CAD databases since the context is disconnected from the CAD model, it is difficult to search for CAD models using keywords. Approaches such as a keyword search using the model filenames are also inefficient because most companies have a naming scheme that changes with time. Further, most designers tend to remember shapes better than the product contexts, making keyword based searches unattractive to users.
Moreover, there is a need to improve searching of 3D protein structures for applications such as drug discovery and docking.